package vip.liux.backend.application.service.gen;

import lombok.Getter;
import lombok.Setter;
import vip.liux.backend.domain.models.gen.GenTableColumn;
import vip.liux.backend.infrastructure.constants.GenConst;

import java.io.Serializable;

/**
 * Dto for {@link GenTableColumn}
 */
@Getter
@Setter
public class GenTableColumnDto implements Serializable {
    private Long id;
    private String columnName;
    private String columnComment;
    private GenConst.ColumnType columnType;
    private GenConst.JavaType javaType;
    private String javaField;
    private Boolean primary;
    private Boolean increment;
    private Boolean required;
    private Boolean insert;
    private Boolean edit;
    private Boolean list;
    private Boolean query;
    private GenConst.QueryType queryType;
    private GenConst.HtmlType htmlType;
    private String dictType;
    private Integer sort;

    public GenTableColumnDto(Long id, String columnName, String columnComment, GenConst.ColumnType columnType,
                             GenConst.JavaType javaType, String javaField, Boolean primary, Boolean increment,
                             Boolean required, Boolean insert, Boolean edit, Boolean list, Boolean query,
                             GenConst.QueryType queryType, GenConst.HtmlType htmlType, String dictType, Integer sort) {
        this.id = id;
        this.columnName = columnName;
        this.columnComment = columnComment;
        this.columnType = columnType;
        this.javaType = javaType;
        this.javaField = javaField;
        this.primary = primary;
        this.increment = increment;
        this.required = required;
        this.insert = insert;
        this.edit = edit;
        this.list = list;
        this.query = query;
        this.queryType = queryType;
        this.htmlType = htmlType;
        this.dictType = dictType;
        this.sort = sort;
    }
}